Concurrent Static Single Assignment Form and Constant Propagation for Explicitly Parallel Programs
نویسندگان
چکیده
Static Single Assignment (SSA) form has shown its usefulness for powerful code optimization techniques such as constant propagation in sequential programs. We introduce the Concurrent Static Single Assignment (CSSA) form and the transformation algorithm for explicitly parallel programs with interleaving semantics and post-wait synchronization. The parallel construct considered in this paper is cobegin/coend. A new concept,-assignment, which summarizes the information of inter-leaving statements among threads, is introduced. The Concurrent Control Flow Graph, which contains information about connicting statements in addition to control ow and synchronization information, is used as an intermediate representation for the CSSA transformation. An extension of the Sparse Conditional Constant propagation algorithm based on the CSSA form makes it possible to apply the constant propagation optimization to explicitly parallel programs.
منابع مشابه
Parallel Static Single Assignment Form and Constant Propagation for Explicitly Parallel Programs
Static Single Assignment (SSA) form has shown its usefulness for powerful code optimization techniques, such as constant propagation, of sequential programs. We introduce a new Parallel Static Single Assignment (PSSA) form and the transformation algorithm for the explicitly parallel programs with interleaving semantics and post-wait synchronization. The parallel construct considered in this pap...
متن کاملConcurrent SSA Form in the Presence of Mutual Exclusion
Most current compiler analysis techniques are unable to cope with the semantics introduced by explicit parallel and synchronization constructs in parallel programs. In this paper we propose new analysis and optimization techniques for compiling explicitly parallel programs that use mutual exclusion synchronization. We introduce the CSSAME form, an extension of the Concurrent Static Single Assig...
متن کاملArray SSA for Explicitly Parallel Programs
The usefulness and applicability of the Static Single Assignment (SSA) framework is undisputed. SSA was originally crafted for sequential programs manipulating scalars, but it has been separately extended to parallel programs on the one hand, and to sequential programs with arrays on the other. In an Array SSA framework, arrays are precisely handled on an element-per-element basis. This paper p...
متن کاملThe Hot Path SSA Form: Extending the Static Single Assignment Form for Speculative Optimizations
The Static Single Assignment (SSA) form has been an eminent contribution towards analyzing programs for compiler optimizations. It has been a able to the design of simpler algorithms for existing optimizations, and has facilitated the development of new ones. However, speculative optimizations optimizations targeted towards speeding-up the common cases of a program have not been fortunate enoug...
متن کاملEnabling Sparse Constant Propagation of Array Elements via Array SSA Form
We present a new static analysis technique based on Array SSA form [6]. Compared to traditional SSA form, the key enhancement in Array SSA form is that it deals with arrays at the element level instead of as monolithic objects. In addition, Array SSA form improves the φ function used for merging scalar or array variables in traditional SSA form. The computation of a φ function in traditional SS...
متن کامل